/*******************************************************************************
* File Name: filter.h
* Version 1.00
*
* Description:
*  This file provides the source code to the API for the Sequencing Successive
*  Approximation ADC Component Component.
*
* Note:
*
********************************************************************************
* Copyright 2010-2019, CMS Semiconductor Corporation.  All rights reserved.
* You may use this file only in accordance with the license, terms, conditions,
* disclaimers, and limitations in the end user license agreement accompanying
* the software package with which this file was provided.
*******************************************************************************/

#ifndef __FILTER_H__
#define __FILTER_H__

 #ifdef __cplusplus
extern "C"
{
#endif

/*****************************************************************************/
/* Include files */
/*****************************************************************************/
#include<stdint.h>

/*****************************************************************************/
/* Global pre-processor symbols/macros ('#define') */
/*****************************************************************************/

						
/*****************************************************************************/
/* Global type definitions ('typedef') */
/*****************************************************************************/
typedef struct {
	int32_t Q12_LPFK;
	int32_t Q20_LowBits;
} stc_OneOrderLPF_t;

typedef struct {
	int32_t UP_Q12_LPFK;
	int32_t DO_Q12_LPFK;
	int32_t Q20_LowBits;
} stc_Dual_OneOderLPF_t;

/*****************************************************************************/
/* Global variable declarations ('extern', definition in C source) */
/*****************************************************************************/


/*****************************************************************************/
/* Global function prototypes ('extern', definition in C source) */
/*****************************************************************************/
extern void OneOrderLPF(int32_t Input, int32_t *Output, stc_OneOrderLPF_t *LPFPar);

extern void FastOneOrderLPF(int32_t Input, int32_t *Output, int32_t Lpfk);

extern void Dual_OneOrderLPF(int32_t Input, int32_t *Output, stc_Dual_OneOderLPF_t *LPFPar);


#ifdef __cplusplus
}
#endif

#endif /* __FILTER_H__ */
